package net.dodoman.bit;

import org.junit.Assert;
import org.junit.Test;

public class JuBit {

	@Test
	public void outBit() {
		// 2: 00000000 00000000 00000000 00000010
		// -5: 11111111 11111111 11111111 11111011
		// 2&-5: 00000000 00000000 00000000 00000010
		// 2|-5 11111111 11111111 11111111 11111011
		// 2^-5: 11111111 11111111 11111111 11111001
		// 2<<2: 00000000 00000000 00000000 00001000
		// -5>>3: 11111111 11111111 11111111 11111111
		// -5>>>3:00011111 11111111 11111111 11111111
		Assert.assertEquals("10", Bit.getBitBinaryString('i'));
		Assert.assertEquals("11111111111111111111111111111011", Bit
				.getBitBinaryString('j'));
		Assert.assertEquals("10", Bit.getBitBinaryString('&'));
		Assert.assertEquals("11111111111111111111111111111011", Bit
				.getBitBinaryString('|'));
		Assert.assertEquals("11111111111111111111111111111001", Bit
				.getBitBinaryString('^'));
		Assert.assertEquals("1000", Bit.getBitBinaryString('l'));
		Assert.assertEquals("11111111111111111111111111111111", Bit
				.getBitBinaryString('r'));
		Assert.assertEquals("11111111111111111111111111111", Bit
				.getBitBinaryString('y'));
	}
}
